package violation_scoring_enum

// 企业扣分事项
type violationEnt int

var ViolationEnt violationEnt

// 运输企业所属车辆闯红灯、闯禁令、没有粘贴反光标示等交通违法行为(2分)
func (c *violationEnt) TrafficIllegalOne() int {
	return 1
}

// 运输企业所属车辆假牌套牌、污损、遮挡车牌、准驾车型不符、未按时参加法定检验、保险失效等交通违法行为(2分)
func (c *violationEnt) TrafficIllegalTwo() int {
	return 2
}

// 运输企业所属车辆超过规定时速50%以上的；疲劳驾驶等交通违法行为(2分)
func (c *violationEnt) TrafficIllegalThree() int {
	return 3
}

// 运输企业所属车辆载物超过核定载质量(3分)
func (c *violationEnt) Overload() int {
	return 4
}

// 运输企业所属车辆驾驶发生一次以上（含一次）道路交通事故的（负同等以上责任）(10分)
func (c *violationEnt) TrafficAccident() int {
	return 5
}

func (c *violationEnt) ToText(value int) string {
	switch value {

	case 1:
		return "运输企业所属车辆闯红灯、闯禁令、没有粘贴反光标示等交通违法行为(2分)"

	case 2:
		return "运输企业所属车辆假牌套牌、污损、遮挡车牌、准驾车型不符、未按时参加法定检验、保险失效等交通违法行为(2分)"

	case 3:
		return "运输企业所属车辆超过规定时速50%以上的；疲劳驾驶等交通违法行为(2分)"

	case 4:
		return "运输企业所属车辆载物超过核定载质量(3分)"

	case 5:
		return "运输企业所属车辆驾驶发生一次以上（含一次）道路交通事故的（负同等以上责任）(10分)"

	}
	return ""
}

func (c *violationEnt) ToValue(text string) int {
	switch text {

	case "运输企业所属车辆闯红灯、闯禁令、没有粘贴反光标示等交通违法行为(2分)":
		return 1

	case "运输企业所属车辆假牌套牌、污损、遮挡车牌、准驾车型不符、未按时参加法定检验、保险失效等交通违法行为(2分)":
		return 2

	case "运输企业所属车辆超过规定时速50%以上的；疲劳驾驶等交通违法行为(2分)":
		return 3

	case "运输企业所属车辆载物超过核定载质量(3分)":
		return 4

	case "运输企业所属车辆驾驶发生一次以上（含一次）道路交通事故的（负同等以上责任）(10分)":
		return 5

	}
	return 0
}
